﻿using System;

namespace ZFramework.Runtime
{
    public partial class EditorModeResourceMgr
    {
        private struct LoadAssetInfo
        {
            private readonly string _assetName;
            private readonly Type _assetType;
            private readonly int _priority;
            private readonly DateTime _startTime;
            private readonly float _delaySeconds;
            private readonly LoadAssetCallbacks _loadAssetCallbacks;
            private readonly object _userData;

            public LoadAssetInfo(string assetName, Type assetType, int priority, DateTime startTime, float delaySeconds,
                LoadAssetCallbacks loadAssetCallbacks, object userData)
            {
                _assetName = assetName;
                _assetType = assetType;
                _priority = priority;
                _startTime = startTime;
                _delaySeconds = delaySeconds;
                _loadAssetCallbacks = loadAssetCallbacks;
                _userData = userData;
            }

            public string AssetName
            {
                get { return _assetName; }
            }

            public Type AssetType
            {
                get { return _assetType; }
            }

            public int Priority
            {
                get { return _priority; }
            }

            public DateTime StartTime
            {
                get { return _startTime; }
            }

            public float DelaySeconds
            {
                get { return _delaySeconds; }
            }

            public LoadAssetCallbacks LoadAssetCallbacks
            {
                get { return _loadAssetCallbacks; }
            }

            public object UserData
            {
                get { return _userData; }
            }
        }
    }
}
